1. Field of the Invention
The present invention generally relates to computer network test equipment, and in particular, to a system and method for generating a predetermined amount of packet loss on a packet-switched network.
2.. Description of the Related Art
More frequently than ever before, packet-switched networks are being used to transport real-time data, such as video and audio information. A packet-switched network transports data by dividing it into separate packets of information. These packets are then routed through the network and reassembled into the original data at a destination within the network. Although packet-switched protocols typically include mechanisms for insuring reliable delivery of packets, it sometimes happens that some of the packets are lost during transport. Network congestion is a frequent cause of packet loss. When a packet-switched network becomes overly congested, data buffers in the network overflow. In response to buffer overflow, network devices, such as routers, drop packets already in the buffers in order to store incoming packets. This results in packet loss.
Packet loss diminishes the quality of real-time video and audio transmitted over packet-switched networks. In efforts to improve the quality of video and audio presentations, developers often test the effect of packet loss on real-time networked applications. However, the precise effect of packet loss on real-time data transfers is rather difficult to measure using current test equipment.
To measure the effect of packet loss on a real-time application, network traffic between two devices under test must be captured and analyzed. To accomplish this, a combination of routers, multi-port repeaters, multi-port bridges, packet generators, and network analyzers is assembled into a test configuration. The packet generators are then configured to produce excess network traffic, forcing queues and buffers in the routers to overflow, resulting in packet loss.
Because network devices, such as routers, are designed to ensure that packets are not discarded, they cannot predictably produce a given amount of packet loss. Configuring the combination of network devices to generate a desired packet loss is generally a hit-or-miss proposition, and is thus time-consuming. In addition, test results are often not repeatable and vary with each test iteration. Further drawbacks of such a test configuration are that multiple network analyzers must be used to capture network traffic and manual accounting is required to determine actual packet loss. Thus, using current techniques, testing the effect of packet loss on real-time networked applications is time-consuming, inaccurate and expensive.
According to one embodiment of the present invention, a test apparatus includes a first network interface, a packet filter, and a second network interface. The test apparatus can be placed in-line between two host devices on a network. In this configuration, the first network interface receives a sequence of data packets included in the data flow between the hosts. The received data packets are then passed to the packet filter, which selectively discards one or more of the packets according to a predetermined rules table, resulting in a reduced sequence of packets. The reduced packet sequence is then transferred to the destination host over the network by the second network interface.
The rules table is software configurable to permit a user to predictably vary the amount of packet loss occurring between the two hosts. By varying the amount of packet loss in a predetermined manner, the effect on real-time applications, such as video conferencing software, can be accurately measured.